{{tag>Precise Trusty BROUILLON}}
----
 
====== Des hôtes virtuels avec Apache2 installés n'importe où ======


Ce tuto est le résultat d'un approfondissement du fonctionnement de Apache2 suite aux problèmes d'usagers du forum ubuntu-fr pour créer des hôtes virtuels.

Ce tuto n'abordera pas le contexte des vhosts par ip destiné à un environnement de production.

===== Pré-requis =====
 
  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Avoir installé au préalable [[:apache2|Apache2]].
 
===== Configuration =====
 
  * Associez vos noms d'hôtes à l'IP localhost 127.0.0.1 dans le fichier /etc/hosts
  * Utilisez le fichier /etc/apache2/sites-available/default comme modèle de configuration
  * Installez les fichiers ressources de vos sites (cms, atelier php, html statique, etc)

==== Hôte virtuel installé dans la partie root (Méthode fortement déconseillée) ====

  * créer un lien symbolique de /var/www/<nomdemonsite> vers le répertoire réel dans un dossier utilisateur:
  <code>sudo ln -s <répertoire réel> /var/www/<nomdemonsite></code>
  * donner suffisamment de droits pour que le lien symbolique soit accessible par l'utilisateur en acces non admin
  * modifier le modèle default selon les paramètres du vhost, créer autant de fichiers que de vhosts

==== Hôte virtuel installé dans la partie /home/votre-login ====

  * installer les données du site du vhost n'importe où dans votre zone utilisateur : /home/votre-login
  * modifier le modele default sur le paramètre document_root selon le chemin du vhost dans la zone utilisateur, créer autant de fichiers que de vhosts

===== Utilisation =====

  * Naviguez à l'adresse indiquée dans le /etc/hosts

==== Exemple rapide, EasyPhpAlbum Lite Version 2.3.2 : un album photo simple ====

EasyPhpAlbum Lite se constitue d'un fichier unique programmé en php (compatible v5), utilisant des fichiers textes comme fichiers de base de données. Son objectif est d'indexer et de présenter sous forme de vignettes cliquables les images se trouvant dans le même dossier que lui.

=== /etc/hosts ===

<code bash>
127.0.0.1	localhost
127.0.1.1	name-of-your-computer
127.0.0.1	homepics

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
</code>

=== /etc/apache2/sites-available/homepics ===

<code apache>
<VirtualHost *:80>
	ServerAdmin webmaster@homepics
	ServerName homepics

	DocumentRoot /home3/Images
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /home3/Images>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Require all granted
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Require all granted
		AddHandler cgi-script cgi php phtml
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</code>

=== Installation du script php ===

  * copie du fichier EasyPhpAlbum Lite dans /home3/Images
  * renommer le script en index.php

=== Activation du site homepics avec la commande Apache2 : a2ensite ===

<code bash>sudo a2ensite homepics</code>

ou manuellement en créant un lien symbolique

<code bash>sudo ln -s /etc/apache2/sites-enabled /etc/apache2/sites-available/homepics</code>

**homepics** peut-être utilisée comme adresse url dans votre navigateur
<code>http://homepics</code>

{{:utilisateurs/j5012/brouillons/easyphpalbumlite_test_vhost_apache2.jpg?300}}

==== Exemple avec Flatpress : application de blog à la Wordpress ====

Flatpress est une application php multi-fichiers ne nécessitant aucun serveur Mysql pour le stockage des donnees. Pour démonstration, l'application sera installée dans le dossier dédié /srv avec des droits d'acces utilisateur ordinaire.

=== Ajouter le nom de vhost fpress à /etc/hosts ===

<code bash>127.0.0.1 fpress</code>

=== Télécharger ===

http://flatpress-fr.info/

===  Installer Flatpress dans /srv ===

<code bash>sudo cp les-fichiers-flatpress-desarchivés /srv/fpress/</code>
<code bash>chown /srv/fpress operateur-courant-de-la-session</code>

=== Suite ... ===


----
//Contributeurs principaux : [[utilisateurs:J5012]].//